package com.lyl.xxx.modules.web.account.model.vo;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotBlank;
import java.util.List;

/**
 * @author Mr.Luo
 * @date 2022-09-23 14:59
 * @desc
 */
@Data
@NotBlank
@AllArgsConstructor
@Builder
@Accessors(chain = true)
public class MenuTreeVO {
    /**
     * 主键ID
     */
    private Long menuId;

    /**
     * 菜单名称
     */
    private String menuName;

    /**
     * 父菜单ID
     */
    private Long parentId;

    /**
     * 路由地址
     */
    private String path;

    /**
     * 组件路径
     */
    private String component;

    /**
     * 路由参数
     */
    private String query;

    /**
     * 是外链吗
     */
    private Boolean isIframe;

    /**
     * 菜单图标
     */
    private String icon;

    /**
     * meta元素：title
     */
    private String title;

    /**
     * 菜单等级
     */
    private Integer level;

    /**
     * 菜单类型
     * 0：目录 1：菜单 2：按钮
     */
    private String menuType;

    /**
     * 菜单权限字符串
     */
    private String perms;

    /**
     * 显示顺序
     */
    private Integer orderNum;

    /**
     * 显示状态（0：不显示，1：显示）
     */
    private Boolean visible;

    /**
     * 状态（0正常 1停用）
     */
    private Boolean hidden;

    /**
     * 创建时间
     */
    private String createTime;

    /**
     * 子菜单
     */
    private List<MenuTreeVO> children;
}
